const Router = require("koa-router");
const router = new Router();
const jwt = require("jsonwebtoken");
// 整合 knex
// 导入模块 并且连接上 本机的数据库
const knex = require("./../utils/myKnex");

// secret 密钥的本质： 就是一个字符串  (需要使用 secret 秘钥进行解密)
const secretKey = "xiangyang Love you ~_~";

// 路径前缀
// router.prefix("/api");

router.get("/", async (ctx) => {
  // ctx即context，是req(request)和res(response)的集合
  const query = ctx.query;

  ctx.body = "Hello World";
  // 示例代码

  // 查询操作
  // hero是表名
  knex("hero")
    // select 不给参数 是查询所有字段
    // 设置字段的话 用逗号分隔，类型是字符串
    .select()
    // where 是查询所有信息（不写条件条件必须写个空对象）{}
    // 给具体的对象，是精确匹配
    // .where({
    //   title: "诗仙",
    // })
    .then((res) => {
      console.log(res);
    });
});

// 1. 登录
router.get("/login", async (ctx) => {
  let { username, password } = ctx.request.body;

  // 使用jwt.sign生成token
  const token = jwt.sign(
    {
      username,
    },
    secretKey,
    { expiresIn: "1h" }
  ); //expiresIn表示token失效时间，为数字时秒做单位，也可用字符串'1h''1d'表示一小时 一天
  ctx.body = {
    status: 200,
    msg: "登录成功!",
    token,
  };
});

module.exports = router;
